package org.zalando.catwatch.backend.model.util; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.JsonDeserializer; import java.io.IOException; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class JsonDateDeserializer extends JsonDeserializer<Date> { @Override public Date deserialize(final JsonParser jp, final DeserializationContext ctxt) throws IOException, JsonProcessingException { String dateString = jp.getText(); try { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); return format.parse(dateString); } catch (ParseException e) { throw new IllegalStateException( "parse exception occured when trying to deserialize date, date string was: ", e); } } }